Microsoft Robotics Developer Studio
Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) is a Windows-based environment for robot control and simulation. It is aimed at academic, hobbyist, and commercial developers and handles a wide variety of robot hardware.
RDS is based on CCR (Concurrency and Coordination Runtime): a .NET-based concurrent library implementation for managing asynchronous parallel tasks. This technique involves using message-passing and a lightweight services-oriented runtime, DSS (Decentralized Software Services), which allows the orchestration of multiple services to achieve complex behaviors.
Features include: a visual programming tool, Microsoft Visual Programming Language for creating and debugging robot applications, web-based and windows-based interfaces, 3D simulation (including hardware acceleration), easy access to a robot's sensors and actuators. The primary programming language is C#.
Microsoft Robotics Developer Studio includes support for packages to add other services to the suite. Those currently available include Soccer Simulation and Sumo Competition by Microsoft, and a community-developed Maze Simulator, a program to create worlds with walls that can be explored by a virtual robot, and a set of services for OpenCV. Most of the additional packages are hosted on CodePlex (search for Robotics Studio). Course materials are also available.
Components
There are four main components in RDS:
- CCR (Concurrency and Coordination Runtime)
- DSS (Decentralized Software Services)
- VPL (Visual Programming Language)
- VSE (Visual Simulation Environment)
CCR and DSS are also available separately for use in commercial applications that require a high level of concurrency and/or must be distributed across multiple nodes in a network. This package is called the CCR and DSS Toolkit.
Tools
The tools that allow to develop an MRDS application contain a graphical environment (Microsoft Visual Programming Language : VPL) command line tools allow to deal with Visual Studio projects (VS Express version is enough) in C#, and 3D simulation tools.
- Visual Programming Language is a graphical development environment that uses a service and activity catalog.
- They can interact graphically, a service or an activity is represented by a block that has inputs and outputs that just need to be dragged from the catalog to the diagram.
- Linking can be done with the mouse, it allows you to define if signals are simultaneous or not, permits you to perform operations on transmitted values...
- VPL also allows you to generate the code of new "macro" services from diagrams created by users.
- It is possible in VPL to easily customize services for different hardware elements.
- RDS 3D simulation environment allows you to simulate the behavior of robots in a virtual world using NVIDIA PhysX technology (3D engine originally written by Ageia) that includes advanced physics.
- There are several simulation environments in RDS. These environments were developed by SimplySim
- Apartment
- Factory
- Modern House
- Outdoor
- Urban
- Many examples and tutorials are available for the different tools, which permits a fast understanding of MRDS. Several applications have been added to the suite, such as Maze Simulator, or Soccer Simulation which is developed by Microsoft.
- The Kinect sensor can be used on a robot in the RDS environment. RDS also includes a simulated Kinect sensor. In the initial release the Kinect Services for RDS are only licensed for non-commercial use because they depend on the Kinect for Windows SDK Beta (from Microsoft Research) which is also non-commercial. This might change in the future.
Notable applications
- Princeton University's DARPA Urban Grand Challenge autonomous car entry was programmed with MRDS.[1]
- MySpace uses MRDS's parallel computing foundation libraries, CCR and DSS, for a non-robotic application in the back end of their site.[2]
- Indiana University uses MRDS in a non-robotic application to coordinate a high-performance computing network.[2]
- In 2008 Microsoft launched a simulated robotics competition named RoboChamps using MRDS, four challenges were available : maze, sumo, urban, and Mars rover. the simulated environment and robots used by the competition were created by SimplySim and the competition was sponsored by KIA Motors
- The 2009 robotics and algorithm section of the Imagine Cup software competition uses MRDS visual simulation environment. The challenges of this competition were also developed by SimplySim and are improved versions of the RoboChamps challenges.
Critique
- The complication and overhead required to run MRDS prompted Princeton Autonomous Vehicle Engineering to convert their Prospect 12 system from MRDS to IPC++[3].
Versions and Licensing
- Robotics Studio 1.0 (Commercial and Non-Commercial Use Licenses) -- Release Date: December 18, 2006
- Robotics Studio 1.5 (Commercial and Non-Commercial Use Licenses) -- Release Date: May 2007
- Robotics Studio 1.5 'Refresh' (Commercial and Non-Commercial Use Licenses) -- Release Date: December 13, 2007
- Robotics Developer Studio 2008 Standard Edition (Commercial Use), Academic Edition (Academic use) and Express Edition (Commercial and Non-Commercial Use) -- Release Date: November 18, 2008
- Robotics Developer Studio 2008 R2 Standard Edition (Commercial Use), Academic Edition (Academic use) and Express Edition (Commercial and Non-Commercial Use) -- Release Date: June 17, 2009
- Robotics Developer Studio 2008 R3 -- Release Date: May 20, 2010. With R3, Robotics Developer Studio 2008 is now free and the functionality of all editions and CCR & DSS Toolkit has been combined into the single free edition. R3 is no longer compatible with .NET Compact Framework development and it no longer supports Windows CE.[4]
- Robotics Developer Studio 4 Beta -- Release Date: Sep 17, 2011. This release adds full support for the Kinect sensor via the Kinect for Windows SDK. A Reference Platform Design is included in the documentation, with the first implementation being the Eddie robot from Parallax. It also updates RDS to .NET 4.0 and XNA 4.0.[5]
Supported robots
See also
References
Morgan, Sarah (2008). Programming Microsoft Robotics Studio. Microsoft Press. ISBN 0735624321.
Johns, Kyle; Taylor, Trevor (2008). Professional Microsoft Robotics Developer Studio. John Wiley & Sons. ISBN 0470141077.
Kang, Shih-Chung; Chang, Wei-Tze; Gu, Kai-Yuan; Chi, Hung-Lin (2011). Robot Development Using Microsoft Robotics Developer Studio. Chapman and Hall/CRC Press. ISBN 9781439821657.
External links
Microsoft development tools
|
|
Development
environments |
|
|
Languages and
compilers |
|
|
Major APIs and
frameworks |
|
|
Database tools
and languages |
|
|
Source control |
|
|
Deployment |
|
|
Driver development |
|
|
Performance Analysis |
|
|